package com.ryx.service;

import com.github.pagehelper.PageInfo;
import com.ryx.entity.SysUser;
import com.ryx.vo.req.*;
import com.ryx.vo.resp.LoginRespVo;
import com.ryx.vo.resp.PageVo;
import com.ryx.vo.resp.UserOwnRoleRespVo;

import java.util.List;

/**
 * @BelongsPackage: com.ryx.service
 * @Author: 容永轩
 * @CreateTime: 2020-11-07
 * @Description:
 */
public interface UserService {

    LoginRespVo login(LoginReqVo vo);

//    PageInfo<SysUser> pageInfo(UserPageReqVo vo);
    PageVo<SysUser> pageInfo(UserPageReqVo vo);


    void addUser(UserAddReqVo vo);

    void logout(String accessToken,String refreshToken);

    UserOwnRoleRespVo getUserOwnRole(String userId);

    void setUserOwnRole(UserOwnRoleReqVo vo);

    //通过id 查找用户
    SysUser selectUserById(String userId);


    //刷新token接口
    String refreshToken(String refreshToken);

    void updateUserInfo(UserUpdateReqVo vo,String operationId);

    void deleteUsers(List<String> userIds,String operationId);

    //调用userMapper中的删除方法selectUserInfoByDeptIds
    List<SysUser> selectUserInfoByDeptIds(List<String> deptIds);

    //个人用户编辑信息接口
    void userUpdateDetailInfo(UserUpdateDetailInfoReqVo vo,String userId);

    //更新用户密码接口
    void userUpdatePwd(UserUpdatePwdReqVo vo,String accessToken,String refreshToken);

}
